package com.qimen.bean;

import java.util.ArrayList;
import java.util.List;

public class HuajiaziExample {
    protected String orderByClause;

    protected boolean distinct;

    protected List<Criteria> oredCriteria;

    public HuajiaziExample() {
        oredCriteria = new ArrayList<Criteria>();
    }

    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    public String getOrderByClause() {
        return orderByClause;
    }

    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    public boolean isDistinct() {
        return distinct;
    }

    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria();
        return criteria;
    }

    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        distinct = false;
    }

    protected abstract static class GeneratedCriteria {
        protected List<Criterion> criteria;

        protected GeneratedCriteria() {
            super();
            criteria = new ArrayList<Criterion>();
        }

        public boolean isValid() {
            return criteria.size() > 0;
        }

        public List<Criterion> getAllCriteria() {
            return criteria;
        }

        public List<Criterion> getCriteria() {
            return criteria;
        }

        protected void addCriterion(String condition) {
            if (condition == null) {
                throw new RuntimeException("Value for condition cannot be null");
            }
            criteria.add(new Criterion(condition));
        }

        protected void addCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value));
        }

        protected void addCriterion(String condition, Object value1, Object value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value1, value2));
        }

        public Criteria andJiaIsNull() {
            addCriterion("jia is null");
            return (Criteria) this;
        }

        public Criteria andJiaIsNotNull() {
            addCriterion("jia is not null");
            return (Criteria) this;
        }

        public Criteria andJiaEqualTo(String value) {
            addCriterion("jia =", value, "jia");
            return (Criteria) this;
        }

        public Criteria andJiaNotEqualTo(String value) {
            addCriterion("jia <>", value, "jia");
            return (Criteria) this;
        }

        public Criteria andJiaGreaterThan(String value) {
            addCriterion("jia >", value, "jia");
            return (Criteria) this;
        }

        public Criteria andJiaGreaterThanOrEqualTo(String value) {
            addCriterion("jia >=", value, "jia");
            return (Criteria) this;
        }

        public Criteria andJiaLessThan(String value) {
            addCriterion("jia <", value, "jia");
            return (Criteria) this;
        }

        public Criteria andJiaLessThanOrEqualTo(String value) {
            addCriterion("jia <=", value, "jia");
            return (Criteria) this;
        }

        public Criteria andJiaLike(String value) {
            addCriterion("jia like", value, "jia");
            return (Criteria) this;
        }

        public Criteria andJiaNotLike(String value) {
            addCriterion("jia not like", value, "jia");
            return (Criteria) this;
        }

        public Criteria andJiaIn(List<String> values) {
            addCriterion("jia in", values, "jia");
            return (Criteria) this;
        }

        public Criteria andJiaNotIn(List<String> values) {
            addCriterion("jia not in", values, "jia");
            return (Criteria) this;
        }

        public Criteria andJiaBetween(String value1, String value2) {
            addCriterion("jia between", value1, value2, "jia");
            return (Criteria) this;
        }

        public Criteria andJiaNotBetween(String value1, String value2) {
            addCriterion("jia not between", value1, value2, "jia");
            return (Criteria) this;
        }

        public Criteria andYiIsNull() {
            addCriterion("yi is null");
            return (Criteria) this;
        }

        public Criteria andYiIsNotNull() {
            addCriterion("yi is not null");
            return (Criteria) this;
        }

        public Criteria andYiEqualTo(String value) {
            addCriterion("yi =", value, "yi");
            return (Criteria) this;
        }

        public Criteria andYiNotEqualTo(String value) {
            addCriterion("yi <>", value, "yi");
            return (Criteria) this;
        }

        public Criteria andYiGreaterThan(String value) {
            addCriterion("yi >", value, "yi");
            return (Criteria) this;
        }

        public Criteria andYiGreaterThanOrEqualTo(String value) {
            addCriterion("yi >=", value, "yi");
            return (Criteria) this;
        }

        public Criteria andYiLessThan(String value) {
            addCriterion("yi <", value, "yi");
            return (Criteria) this;
        }

        public Criteria andYiLessThanOrEqualTo(String value) {
            addCriterion("yi <=", value, "yi");
            return (Criteria) this;
        }

        public Criteria andYiLike(String value) {
            addCriterion("yi like", value, "yi");
            return (Criteria) this;
        }

        public Criteria andYiNotLike(String value) {
            addCriterion("yi not like", value, "yi");
            return (Criteria) this;
        }

        public Criteria andYiIn(List<String> values) {
            addCriterion("yi in", values, "yi");
            return (Criteria) this;
        }

        public Criteria andYiNotIn(List<String> values) {
            addCriterion("yi not in", values, "yi");
            return (Criteria) this;
        }

        public Criteria andYiBetween(String value1, String value2) {
            addCriterion("yi between", value1, value2, "yi");
            return (Criteria) this;
        }

        public Criteria andYiNotBetween(String value1, String value2) {
            addCriterion("yi not between", value1, value2, "yi");
            return (Criteria) this;
        }

        public Criteria andBingIsNull() {
            addCriterion("bing is null");
            return (Criteria) this;
        }

        public Criteria andBingIsNotNull() {
            addCriterion("bing is not null");
            return (Criteria) this;
        }

        public Criteria andBingEqualTo(String value) {
            addCriterion("bing =", value, "bing");
            return (Criteria) this;
        }

        public Criteria andBingNotEqualTo(String value) {
            addCriterion("bing <>", value, "bing");
            return (Criteria) this;
        }

        public Criteria andBingGreaterThan(String value) {
            addCriterion("bing >", value, "bing");
            return (Criteria) this;
        }

        public Criteria andBingGreaterThanOrEqualTo(String value) {
            addCriterion("bing >=", value, "bing");
            return (Criteria) this;
        }

        public Criteria andBingLessThan(String value) {
            addCriterion("bing <", value, "bing");
            return (Criteria) this;
        }

        public Criteria andBingLessThanOrEqualTo(String value) {
            addCriterion("bing <=", value, "bing");
            return (Criteria) this;
        }

        public Criteria andBingLike(String value) {
            addCriterion("bing like", value, "bing");
            return (Criteria) this;
        }

        public Criteria andBingNotLike(String value) {
            addCriterion("bing not like", value, "bing");
            return (Criteria) this;
        }

        public Criteria andBingIn(List<String> values) {
            addCriterion("bing in", values, "bing");
            return (Criteria) this;
        }

        public Criteria andBingNotIn(List<String> values) {
            addCriterion("bing not in", values, "bing");
            return (Criteria) this;
        }

        public Criteria andBingBetween(String value1, String value2) {
            addCriterion("bing between", value1, value2, "bing");
            return (Criteria) this;
        }

        public Criteria andBingNotBetween(String value1, String value2) {
            addCriterion("bing not between", value1, value2, "bing");
            return (Criteria) this;
        }

        public Criteria andDingIsNull() {
            addCriterion("ding is null");
            return (Criteria) this;
        }

        public Criteria andDingIsNotNull() {
            addCriterion("ding is not null");
            return (Criteria) this;
        }

        public Criteria andDingEqualTo(String value) {
            addCriterion("ding =", value, "ding");
            return (Criteria) this;
        }

        public Criteria andDingNotEqualTo(String value) {
            addCriterion("ding <>", value, "ding");
            return (Criteria) this;
        }

        public Criteria andDingGreaterThan(String value) {
            addCriterion("ding >", value, "ding");
            return (Criteria) this;
        }

        public Criteria andDingGreaterThanOrEqualTo(String value) {
            addCriterion("ding >=", value, "ding");
            return (Criteria) this;
        }

        public Criteria andDingLessThan(String value) {
            addCriterion("ding <", value, "ding");
            return (Criteria) this;
        }

        public Criteria andDingLessThanOrEqualTo(String value) {
            addCriterion("ding <=", value, "ding");
            return (Criteria) this;
        }

        public Criteria andDingLike(String value) {
            addCriterion("ding like", value, "ding");
            return (Criteria) this;
        }

        public Criteria andDingNotLike(String value) {
            addCriterion("ding not like", value, "ding");
            return (Criteria) this;
        }

        public Criteria andDingIn(List<String> values) {
            addCriterion("ding in", values, "ding");
            return (Criteria) this;
        }

        public Criteria andDingNotIn(List<String> values) {
            addCriterion("ding not in", values, "ding");
            return (Criteria) this;
        }

        public Criteria andDingBetween(String value1, String value2) {
            addCriterion("ding between", value1, value2, "ding");
            return (Criteria) this;
        }

        public Criteria andDingNotBetween(String value1, String value2) {
            addCriterion("ding not between", value1, value2, "ding");
            return (Criteria) this;
        }

        public Criteria andWuIsNull() {
            addCriterion("wu is null");
            return (Criteria) this;
        }

        public Criteria andWuIsNotNull() {
            addCriterion("wu is not null");
            return (Criteria) this;
        }

        public Criteria andWuEqualTo(String value) {
            addCriterion("wu =", value, "wu");
            return (Criteria) this;
        }

        public Criteria andWuNotEqualTo(String value) {
            addCriterion("wu <>", value, "wu");
            return (Criteria) this;
        }

        public Criteria andWuGreaterThan(String value) {
            addCriterion("wu >", value, "wu");
            return (Criteria) this;
        }

        public Criteria andWuGreaterThanOrEqualTo(String value) {
            addCriterion("wu >=", value, "wu");
            return (Criteria) this;
        }

        public Criteria andWuLessThan(String value) {
            addCriterion("wu <", value, "wu");
            return (Criteria) this;
        }

        public Criteria andWuLessThanOrEqualTo(String value) {
            addCriterion("wu <=", value, "wu");
            return (Criteria) this;
        }

        public Criteria andWuLike(String value) {
            addCriterion("wu like", value, "wu");
            return (Criteria) this;
        }

        public Criteria andWuNotLike(String value) {
            addCriterion("wu not like", value, "wu");
            return (Criteria) this;
        }

        public Criteria andWuIn(List<String> values) {
            addCriterion("wu in", values, "wu");
            return (Criteria) this;
        }

        public Criteria andWuNotIn(List<String> values) {
            addCriterion("wu not in", values, "wu");
            return (Criteria) this;
        }

        public Criteria andWuBetween(String value1, String value2) {
            addCriterion("wu between", value1, value2, "wu");
            return (Criteria) this;
        }

        public Criteria andWuNotBetween(String value1, String value2) {
            addCriterion("wu not between", value1, value2, "wu");
            return (Criteria) this;
        }

        public Criteria andJiIsNull() {
            addCriterion("ji is null");
            return (Criteria) this;
        }

        public Criteria andJiIsNotNull() {
            addCriterion("ji is not null");
            return (Criteria) this;
        }

        public Criteria andJiEqualTo(String value) {
            addCriterion("ji =", value, "ji");
            return (Criteria) this;
        }

        public Criteria andJiNotEqualTo(String value) {
            addCriterion("ji <>", value, "ji");
            return (Criteria) this;
        }

        public Criteria andJiGreaterThan(String value) {
            addCriterion("ji >", value, "ji");
            return (Criteria) this;
        }

        public Criteria andJiGreaterThanOrEqualTo(String value) {
            addCriterion("ji >=", value, "ji");
            return (Criteria) this;
        }

        public Criteria andJiLessThan(String value) {
            addCriterion("ji <", value, "ji");
            return (Criteria) this;
        }

        public Criteria andJiLessThanOrEqualTo(String value) {
            addCriterion("ji <=", value, "ji");
            return (Criteria) this;
        }

        public Criteria andJiLike(String value) {
            addCriterion("ji like", value, "ji");
            return (Criteria) this;
        }

        public Criteria andJiNotLike(String value) {
            addCriterion("ji not like", value, "ji");
            return (Criteria) this;
        }

        public Criteria andJiIn(List<String> values) {
            addCriterion("ji in", values, "ji");
            return (Criteria) this;
        }

        public Criteria andJiNotIn(List<String> values) {
            addCriterion("ji not in", values, "ji");
            return (Criteria) this;
        }

        public Criteria andJiBetween(String value1, String value2) {
            addCriterion("ji between", value1, value2, "ji");
            return (Criteria) this;
        }

        public Criteria andJiNotBetween(String value1, String value2) {
            addCriterion("ji not between", value1, value2, "ji");
            return (Criteria) this;
        }

        public Criteria andGengIsNull() {
            addCriterion("geng is null");
            return (Criteria) this;
        }

        public Criteria andGengIsNotNull() {
            addCriterion("geng is not null");
            return (Criteria) this;
        }

        public Criteria andGengEqualTo(String value) {
            addCriterion("geng =", value, "geng");
            return (Criteria) this;
        }

        public Criteria andGengNotEqualTo(String value) {
            addCriterion("geng <>", value, "geng");
            return (Criteria) this;
        }

        public Criteria andGengGreaterThan(String value) {
            addCriterion("geng >", value, "geng");
            return (Criteria) this;
        }

        public Criteria andGengGreaterThanOrEqualTo(String value) {
            addCriterion("geng >=", value, "geng");
            return (Criteria) this;
        }

        public Criteria andGengLessThan(String value) {
            addCriterion("geng <", value, "geng");
            return (Criteria) this;
        }

        public Criteria andGengLessThanOrEqualTo(String value) {
            addCriterion("geng <=", value, "geng");
            return (Criteria) this;
        }

        public Criteria andGengLike(String value) {
            addCriterion("geng like", value, "geng");
            return (Criteria) this;
        }

        public Criteria andGengNotLike(String value) {
            addCriterion("geng not like", value, "geng");
            return (Criteria) this;
        }

        public Criteria andGengIn(List<String> values) {
            addCriterion("geng in", values, "geng");
            return (Criteria) this;
        }

        public Criteria andGengNotIn(List<String> values) {
            addCriterion("geng not in", values, "geng");
            return (Criteria) this;
        }

        public Criteria andGengBetween(String value1, String value2) {
            addCriterion("geng between", value1, value2, "geng");
            return (Criteria) this;
        }

        public Criteria andGengNotBetween(String value1, String value2) {
            addCriterion("geng not between", value1, value2, "geng");
            return (Criteria) this;
        }

        public Criteria andXinIsNull() {
            addCriterion("xin is null");
            return (Criteria) this;
        }

        public Criteria andXinIsNotNull() {
            addCriterion("xin is not null");
            return (Criteria) this;
        }

        public Criteria andXinEqualTo(String value) {
            addCriterion("xin =", value, "xin");
            return (Criteria) this;
        }

        public Criteria andXinNotEqualTo(String value) {
            addCriterion("xin <>", value, "xin");
            return (Criteria) this;
        }

        public Criteria andXinGreaterThan(String value) {
            addCriterion("xin >", value, "xin");
            return (Criteria) this;
        }

        public Criteria andXinGreaterThanOrEqualTo(String value) {
            addCriterion("xin >=", value, "xin");
            return (Criteria) this;
        }

        public Criteria andXinLessThan(String value) {
            addCriterion("xin <", value, "xin");
            return (Criteria) this;
        }

        public Criteria andXinLessThanOrEqualTo(String value) {
            addCriterion("xin <=", value, "xin");
            return (Criteria) this;
        }

        public Criteria andXinLike(String value) {
            addCriterion("xin like", value, "xin");
            return (Criteria) this;
        }

        public Criteria andXinNotLike(String value) {
            addCriterion("xin not like", value, "xin");
            return (Criteria) this;
        }

        public Criteria andXinIn(List<String> values) {
            addCriterion("xin in", values, "xin");
            return (Criteria) this;
        }

        public Criteria andXinNotIn(List<String> values) {
            addCriterion("xin not in", values, "xin");
            return (Criteria) this;
        }

        public Criteria andXinBetween(String value1, String value2) {
            addCriterion("xin between", value1, value2, "xin");
            return (Criteria) this;
        }

        public Criteria andXinNotBetween(String value1, String value2) {
            addCriterion("xin not between", value1, value2, "xin");
            return (Criteria) this;
        }

        public Criteria andRenIsNull() {
            addCriterion("ren is null");
            return (Criteria) this;
        }

        public Criteria andRenIsNotNull() {
            addCriterion("ren is not null");
            return (Criteria) this;
        }

        public Criteria andRenEqualTo(String value) {
            addCriterion("ren =", value, "ren");
            return (Criteria) this;
        }

        public Criteria andRenNotEqualTo(String value) {
            addCriterion("ren <>", value, "ren");
            return (Criteria) this;
        }

        public Criteria andRenGreaterThan(String value) {
            addCriterion("ren >", value, "ren");
            return (Criteria) this;
        }

        public Criteria andRenGreaterThanOrEqualTo(String value) {
            addCriterion("ren >=", value, "ren");
            return (Criteria) this;
        }

        public Criteria andRenLessThan(String value) {
            addCriterion("ren <", value, "ren");
            return (Criteria) this;
        }

        public Criteria andRenLessThanOrEqualTo(String value) {
            addCriterion("ren <=", value, "ren");
            return (Criteria) this;
        }

        public Criteria andRenLike(String value) {
            addCriterion("ren like", value, "ren");
            return (Criteria) this;
        }

        public Criteria andRenNotLike(String value) {
            addCriterion("ren not like", value, "ren");
            return (Criteria) this;
        }

        public Criteria andRenIn(List<String> values) {
            addCriterion("ren in", values, "ren");
            return (Criteria) this;
        }

        public Criteria andRenNotIn(List<String> values) {
            addCriterion("ren not in", values, "ren");
            return (Criteria) this;
        }

        public Criteria andRenBetween(String value1, String value2) {
            addCriterion("ren between", value1, value2, "ren");
            return (Criteria) this;
        }

        public Criteria andRenNotBetween(String value1, String value2) {
            addCriterion("ren not between", value1, value2, "ren");
            return (Criteria) this;
        }

        public Criteria andGuiIsNull() {
            addCriterion("gui is null");
            return (Criteria) this;
        }

        public Criteria andGuiIsNotNull() {
            addCriterion("gui is not null");
            return (Criteria) this;
        }

        public Criteria andGuiEqualTo(String value) {
            addCriterion("gui =", value, "gui");
            return (Criteria) this;
        }

        public Criteria andGuiNotEqualTo(String value) {
            addCriterion("gui <>", value, "gui");
            return (Criteria) this;
        }

        public Criteria andGuiGreaterThan(String value) {
            addCriterion("gui >", value, "gui");
            return (Criteria) this;
        }

        public Criteria andGuiGreaterThanOrEqualTo(String value) {
            addCriterion("gui >=", value, "gui");
            return (Criteria) this;
        }

        public Criteria andGuiLessThan(String value) {
            addCriterion("gui <", value, "gui");
            return (Criteria) this;
        }

        public Criteria andGuiLessThanOrEqualTo(String value) {
            addCriterion("gui <=", value, "gui");
            return (Criteria) this;
        }

        public Criteria andGuiLike(String value) {
            addCriterion("gui like", value, "gui");
            return (Criteria) this;
        }

        public Criteria andGuiNotLike(String value) {
            addCriterion("gui not like", value, "gui");
            return (Criteria) this;
        }

        public Criteria andGuiIn(List<String> values) {
            addCriterion("gui in", values, "gui");
            return (Criteria) this;
        }

        public Criteria andGuiNotIn(List<String> values) {
            addCriterion("gui not in", values, "gui");
            return (Criteria) this;
        }

        public Criteria andGuiBetween(String value1, String value2) {
            addCriterion("gui between", value1, value2, "gui");
            return (Criteria) this;
        }

        public Criteria andGuiNotBetween(String value1, String value2) {
            addCriterion("gui not between", value1, value2, "gui");
            return (Criteria) this;
        }
    }

    public static class Criteria extends GeneratedCriteria {

        protected Criteria() {
            super();
        }
    }

    public static class Criterion {
        private String condition;

        private Object value;

        private Object secondValue;

        private boolean noValue;

        private boolean singleValue;

        private boolean betweenValue;

        private boolean listValue;

        private String typeHandler;

        public String getCondition() {
            return condition;
        }

        public Object getValue() {
            return value;
        }

        public Object getSecondValue() {
            return secondValue;
        }

        public boolean isNoValue() {
            return noValue;
        }

        public boolean isSingleValue() {
            return singleValue;
        }

        public boolean isBetweenValue() {
            return betweenValue;
        }

        public boolean isListValue() {
            return listValue;
        }

        public String getTypeHandler() {
            return typeHandler;
        }

        protected Criterion(String condition) {
            super();
            this.condition = condition;
            this.typeHandler = null;
            this.noValue = true;
        }

        protected Criterion(String condition, Object value, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.typeHandler = typeHandler;
            if (value instanceof List<?>) {
                this.listValue = true;
            } else {
                this.singleValue = true;
            }
        }

        protected Criterion(String condition, Object value) {
            this(condition, value, null);
        }

        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.secondValue = secondValue;
            this.typeHandler = typeHandler;
            this.betweenValue = true;
        }

        protected Criterion(String condition, Object value, Object secondValue) {
            this(condition, value, secondValue, null);
        }
    }
}